home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Pascal / Applications / TCPExample / PNL Libraries / MyEvents.p < prev    next >
Text File  |  1996-11-04  |  3KB  |  114 lines

  1. unit MyEvents;
  2.  
  3. interface
  4.  
  5.     uses
  6.         Events;
  7.         
  8.     function EventHasOptionKey( const er: EventRecord ): Boolean;
  9.     function EventHasCommandKey( const er: EventRecord ): Boolean;
  10.     function EventHasControlKey( const er: EventRecord ): Boolean;
  11.     function EventHasShiftKey( const er: EventRecord ): Boolean;
  12.     function EventChar( const er: EventRecord ): char;
  13.     function EventCharCode( const er: EventRecord ): integer;
  14.     function EventKeyCode( const er: EventRecord ): integer;
  15.     function EventIsSuspendResume( const er: EventRecord ): Boolean;
  16.     function EventHasResume( const er: EventRecord ): Boolean;
  17.     function EventIsMouseMoved( const er: EventRecord ): Boolean;
  18.     function EventHasActivate( const er: EventRecord ): Boolean;
  19.     function EventIsKeyDown( const er: EventRecord ): Boolean;
  20.     function EventHasOK( const er: EventRecord ): Boolean;
  21.     function EventHasCancel( const er: EventRecord ): Boolean;
  22.     function EventHasDiscard( const er: EventRecord ): Boolean;
  23.     
  24. implementation
  25.  
  26.     uses
  27.         Types, MyTypes;
  28.         
  29.     function EventHasOptionKey( const er: EventRecord ): Boolean;
  30.     begin
  31.         EventHasOptionKey := band(SInt32(Ord4(er.modifiers)), optionKey) <> 0;
  32.     end;
  33.     
  34.     function EventHasCommandKey( const er: EventRecord ): Boolean;
  35.     begin
  36.         EventHasCommandKey := band(SInt32(Ord4(er.modifiers)), cmdKey) <> 0;
  37.     end;
  38.     
  39.     function EventHasControlKey( const er: EventRecord ): Boolean;
  40.     begin
  41.         EventHasControlKey := band(SInt32(Ord4(er.modifiers)), controlKey) <> 0;
  42.     end;
  43.     
  44.     function EventHasShiftKey( const er: EventRecord ): Boolean;
  45.     begin
  46.         EventHasShiftKey := band(SInt32(Ord4(er.modifiers)), shiftKey) <> 0;
  47.     end;
  48.     
  49.     function EventChar( const er: EventRecord ): char;
  50.     begin
  51.         EventChar := Chr(band(SInt32(Ord4(er.message)), charCodeMask));
  52.     end;
  53.     
  54.     function EventCharCode( const er: EventRecord ): integer;
  55.     begin
  56.         EventCharCode := band(SInt32(Ord4(er.message)), charCodeMask);
  57.     end;
  58.     
  59.     function EventKeyCode( const er: EventRecord ): integer;
  60.     begin
  61.         EventKeyCode := bsr(band(SInt32(Ord4(er.message)), keyCodeMask),8);
  62.     end;
  63.  
  64.     function EventIsSuspendResume( const er: EventRecord ): Boolean;
  65.     begin
  66.         EventIsSuspendResume := band(brotl(SInt32(Ord4(er.message)), 8), $00FF) = kSuspendResumeMessage;
  67.     end;
  68.     
  69.     function EventHasResume( const er: EventRecord ): Boolean;
  70.     begin
  71.         EventHasResume := band(SInt32(Ord4(er.message)), kResumeMask) <> 0;
  72.     end;
  73.     
  74.     function EventIsMouseMoved( const er: EventRecord ): Boolean;
  75.     begin
  76.         EventIsMouseMoved := band(brotl(SInt32(Ord4(er.message)), 8), $00FF) = kMouseMovedMessage;
  77.     end;
  78.     
  79.     function EventHasActivate( const er: EventRecord ): Boolean;
  80.     begin
  81.         EventHasActivate := odd(er.modifiers);
  82.     end;
  83.  
  84.     function EventIsKeyDown( const er: EventRecord ): Boolean;
  85.     begin
  86.         EventIsKeyDown := (er.what = keyDown) or (er.what = autoKey);
  87.     end;
  88.     
  89.     function EventHasOK( const er: EventRecord ): Boolean;
  90.         var
  91.             ch: char;
  92.     begin
  93.         ch := EventChar( er );
  94.         EventHasOK := (ch = cr) or (ch = enter);
  95.     end;
  96.     
  97.     function EventHasCancel( const er: EventRecord ): Boolean;
  98.         var
  99.             ch: char;
  100.     begin
  101.         ch := EventChar( er );
  102.         EventHasCancel := ((ch = '.') and EventHasCommandKey( er )) or (ch = esc);
  103.     end;
  104.  
  105.     function EventHasDiscard( const er: EventRecord ): Boolean;
  106.         var
  107.             ch: char;
  108.     begin
  109.         ch := EventChar( er );
  110.         EventHasDiscard := (ch = 'd') and EventHasCommandKey( er );
  111.     end;
  112.     
  113. end.
  114.